package com.cong.crud.controller;

import com.cong.crud.bean.Employee;
import com.cong.crud.bean.Msg;
import com.cong.crud.service.EmployeeService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * 处理员工CRUD请求
 */
@Controller
public class EmployeeController {


    @Autowired
    EmployeeService employeeService;

    /**
     * 导入
     * @param pn
     * @return
     */
    @RequestMapping("/emps")
    @ResponseBody
    public Msg getEmpsWithJson(@RequestParam(value = "pn",defaultValue = "1")Integer pn){
        //这不是分页查询
        //引入pageHelper分页插件
        //在查询之前只需要调用startPage，传入pn和每页数据个数
        PageHelper.startPage(pn,5);
        //startPage后面紧跟的这个查询就是一个分页查询
        List<Employee> emps= employeeService.getALL();
        //使用pageInfo包装查询后的结果，只需要将pageInfo交给页面
        //封装了详细的分页信息，包括查询出来的数据.传入连续显示的页数
        PageInfo page = new PageInfo(emps,5);
        return Msg.success().add("pageInfo",page);
    }


    /**
     * 查询员工数据（分页查询）
     * @return
     */
//    @RequestMapping("/emps")
    public String getEmps(@RequestParam(value = "pn",defaultValue = "1")Integer pn, Model model){
        //这不是分页查询
        //引入pageHelper分页插件
        //在查询之前只需要调用startPage，传入pn和每页数据个数
        PageHelper.startPage(pn,5);
        //startPage后面紧跟的这个查询就是一个分页查询
        List<Employee> emps= employeeService.getALL();
        //使用pageInfo包装查询后的结果，只需要将pageInfo交给页面
        //封装了详细的分页信息，包括查询出来的数据.传入连续显示的页数
        PageInfo page = new PageInfo(emps,5);
        model.addAttribute("pageInfo",page);
        return "list";
    }
}
